home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / pcgames.arc / STATS.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1982-09-14  |  14.6 KB  |  450 lines

  1. 10  SCREEN 0,0,0:CLEAR:ON ERROR GOTO 4030:ON KEY(10) GOSUB 4490:KEY(10) ON
  2. 20  DEFSTR Z:CLS:COLOR 7,0
  3. 30  LOCATE 10,35:FILES"menu.bas"
  4. 40  IF F THEN 150
  5. 50  LOCATE 5,22:PRINT"You Must Use A Data  Diskette With This
  6. 60  LOCATE 6,22:PRINT"Program. Insert A Formated Diskette And
  7. 70  LOCATE 7,22:PRINT"      Strike Any Key To Continue
  8. 80  LOCATE 25,25:COLOR 0,7:PRINT" Strike <F10> To Return To Menu ";:COLOR 7,0
  9. 90  A$=INKEY$:IF A$="" THEN 90
  10. 100  LOCATE 10,35:FILES"menu.bas"
  11. 110  IF F THEN 140
  12. 120  CLS:LOCATE 5,26:COLOR 31,0:PRINT"You MUST Use A Data Diskette":COLOR 7,0
  13. 130  FOR A=1 TO 3000:NEXT:GOTO 20
  14. 140  SAVE"stats.bas",P
  15. 150  FOR A=1 TO 8:ON KEY(A) GOSUB 920:KEY(A) ON:NEXT
  16. 160  ON KEY(9) GOSUB 4010
  17. 170  ON KEY(10) GOSUB 3130
  18. 180  KEY OFF:SCREEN 0,0,0:WIDTH 80:COLOR 3,0,0
  19. 190  DEFDBL J,G,V,W,X
  20. 200  DEFINT A-C
  21. 210  DEFSTR Z:DEF SEG:POKE 106,0
  22. 220  DEF FNX(V)=FIX(DIFF-(INT(DIFF/V))*V)+1
  23. 230  DIM Z(22,10,1),D(2,33,1),AVG!(21),VALUE(21),TEAMNAME$(30)
  24. 240  OPEN "NAME.FLE" FOR APPEND AS #1:CLOSE
  25. 250  CLS:XX=12:YYY=54
  26. 260  GOSUB 2870:GOSUB 1780
  27. 270  COLOR 3,0:CLS:LOCATE 1,20:PRINT STRING$(41,"CSRLIN")
  28. 280  LOCATE 2,20:PRINT"CSRLINCSRLIN"TAB(35)"SPORTS MENU";:LOCATE ,59:PRINT"CSRLINCSRLIN"
  29. 290  LOCATE 3,20:PRINT STRING$(41,"CSRLIN")
  30. 300  FOR A=4 TO 12:LOCATE A,20:PRINT"CSRLINCSRLIN":LOCATE A,59:PRINT"CSRLINCSRLIN":NEXT
  31. 310  LOCATE 13,20:PRINT STRING$(41,"CSRLIN")
  32. 320  LOCATE 5,26:COLOR 15:PRINT"A";:COLOR 3:PRINT") Enter A Team Roster.
  33. 330  LOCATE  ,26:COLOR 15:PRINT"B";:COLOR 3:PRINT") Evaluate Both Teams.
  34. 340  LOCATE  ,26:COLOR 15:PRINT"C";:COLOR 3:PRINT") Change Birth Date(s)
  35. 350  LOCATE  ,26:COLOR 15:PRINT"D";:COLOR 3:PRINT") Save A Team To Diskette.
  36. 360  LOCATE  ,26:COLOR 15:PRINT"E";:COLOR 3:PRINT") Load Team From Diskette.
  37. 370  LOCATE  ,26:COLOR 15:PRINT"F";:COLOR 3:PRINT") Erase Team Off Diskette.
  38. 380  LOCATE 12,26,1:PRINT"What is your option? <A-F>
  39. 390  LOCATE 12,54:XX=CSRLIN:YYY=POS(0)
  40. 400  GOSUB 3190
  41. 410  DEF SEG
  42. 420  POKE 106,0:IF INKEY$<>"" THEN 420
  43. 430  Z=INKEY$:IF Z="" THEN 430
  44. 440  IF Z="A" OR Z="a" THEN GOSUB 750:GOSUB 930:GOTO 270
  45. 450  IF Z="B" OR Z="b" THEN GOSUB 850:GOSUB 1480:GOSUB 2680:GOSUB 2090:GOTO 270
  46. 460  IF Z="C" OR Z="c" THEN GOSUB 510:GOTO 270
  47. 470  IF Z="D" OR Z="d" THEN GOSUB 3210:GOTO 270
  48. 480  IF Z="E" OR Z="e" THEN GOSUB 3460:GOTO 270
  49. 490  IF Z="F" OR Z="f" THEN GOSUB 3710:GOTO 270
  50. 500  GOTO 420
  51. 510  IF TEAM$(0)<>"" OR TEAM$(1)<>"" THEN 560
  52. 520  LOCATE 20,25:COLOR 15,0
  53. 530               PRINT"You Must First Create Team
  54. 540  LOCATE 21,20:PRINT"Rosters Or Load Teams From Diskette
  55. 550  FOR A=1 TO 10000:NEXT:RETURN
  56. 560  CLS:IF TEAM$(0)<>"" AND TEAM$(1)<>"" THEN 590
  57. 570  IF TEAM$(0)<>"" THEN T=0:GOTO 650
  58. 580  IF TEAM$(1)<>"" THEN T=1:GOTO 650
  59. 590  CLS:LOCATE ,20:PRINT"Which Roster Do You Wish To Update?
  60. 600  LOCATE ,20:PRINT TEAM$(0)" or "TEAM$(1)"? ";
  61. 610  GOSUB 4330
  62. 620  IF ZA=TEAM$(0) THEN T=0:GOTO 650
  63. 630  IF ZA=TEAM$(1) THEN T=1:GOTO 650
  64. 640  GOTO 590
  65. 650  CLS
  66. 660  PRINT"Position: "TAB(30)"Birth Date"TAB(60)"Team "TEAM$(T)
  67. 670  FOR A=0 TO 21
  68. 680    LOCATE ,1:PRINT Z(A,0,T);:LOCATE ,30:PRINT Z(A,1,T);
  69. 690    XX=CSRLIN:YYY=POS(0)
  70. 700    LOCATE ,60:COLOR 15,0:PRINT"Correct? <Y/N>";:COLOR 3,0
  71. 710    GOSUB 1430:IF Z1="1" THEN LOCATE ,60:PRINT SPC(19);:GOTO 740
  72. 720    LOCATE XX,30:PRINT"Birth Date :(m-d-y) ";:GOSUB 1040
  73. 730    Z(A,1,T)=Z2
  74. 740  PRINT:NEXT:RETURN
  75. 750  CLS
  76. 760  LOCATE 4,20:PRINT"Enter Name Of Team ";
  77. 770  GOSUB 4330:IF ZA<>"        " THEN 800
  78. 780  LOCATE 10,20:PRINT"You Must Enter A Team Name"
  79. 790  FOR SLO=1 TO 3000:NEXT :RETURN 270
  80. 800  IF TEAM$(0)<>"" AND TEAM$(1)="" THEN TEAM$(1)=ZA:T=1:GOTO 840
  81. 810  IF TEAM$(1)<>"" AND TEAM$(0)="" THEN TEAM$(0)=ZA:T=0:GOTO 840
  82. 820  LOCATE 6,20:PRINT"Are They The Home or Visiting Team? <H/V>";
  83. 830  GOSUB 3950:TEAM$(T)=ZA
  84. 840  RETURN
  85. 850  IF TEAM$(0)<>"" AND TEAM$(1)<>"" THEN 900
  86. 860  LOCATE 20,25:COLOR 15,0
  87. 870  PRINT"You Must First Create Team
  88. 880  LOCATE 21,23:PRINT"Rosters Or Load Teams From Diskette
  89. 890  FOR A=1 TO 10000:NEXT:COLOR 3,0:RETURN 270
  90. 900  CLS:LOCATE 8,15:PRINT"What Is Date Of Game :(m-d-y)? ";
  91. 910  GOSUB 1040:GAME$=Z2:CLS
  92. 920  RETURN
  93. 930  A=0:Z1="":CLS:PRINT"Team  "TEAM$(T)
  94. 940  XX=CSRLIN:YYY=POS(0):GOSUB 3190
  95. 950  LOCATE 2:COLOR 3,0
  96. 960  WHILE A<22
  97. 970    LOCATE ,1:PRINT"Position: "Z(A,0,T);
  98. 980    LOCATE ,30,1:PRINT"Birth Date:? (m-d-y) ";
  99. 990    GOSUB 1040
  100. 1000    Z(A,1,T)=Z2
  101. 1010    A=A+1:PRINT
  102. 1020   WEND
  103. 1030  RETURN
  104. 1040  IF INKEY$<>"" THEN 1040
  105. 1050  Z="":Z1="":LOCATE ,53:PRINT SPC(25);:LOCATE ,53
  106. 1060  Z=INKEY$:IF Z="" THEN 1060
  107. 1070  IF Z=CHR$(8) THEN 1050
  108. 1080  IF LEN(Z)>1 THEN IF RIGHT$(Z,1)=CHR$(75) THEN 1050 ELSE 1060
  109. 1090  IF Z="." OR Z=" " OR Z="/" OR Z="-" THEN 1140
  110. 1100  IF Z=CHR$(13) THEN 1060
  111. 1110  IF Z<"0" OR Z>"9" THEN 1060
  112. 1120  IF LEN(Z1)>1 THEN 1060
  113. 1130  Z1=Z1+Z:LOCATE ,53:PRINT Z1;:GOTO 1060
  114. 1140  MM=VAL(Z1):IF MM<1 OR MM>12 THEN 1050
  115. 1150  IF LEN(Z1)<>2 THEN Z1=" "+Z1
  116. 1160  Z2=Z1+"/":Z1="":LOCATE ,53:PRINT Z2;
  117. 1170  Z=INKEY$:IF Z="" THEN 1170
  118. 1180  IF Z=CHR$(8) THEN 1050
  119. 1190  IF LEN(Z)>1 THEN IF RIGHT$(Z,1)=CHR$(75) THEN 1050 ELSE 1170
  120. 1200  IF Z="." OR Z=" " OR Z="/" OR Z="-" THEN 1250
  121. 1210  IF Z=CHR$(13) THEN 1170
  122. 1220  IF Z<"0" OR Z>"9" THEN 1170
  123. 1230  IF LEN(Z1)>1 THEN 1170
  124. 1240  Z1=Z1+Z:LOCATE ,POS(0):PRINT Z;:GOTO 1170
  125. 1250  DD=VAL(Z1):IF DD<1 OR DD>31 THEN 1050
  126. 1260  IF LEN(Z1)<>2 THEN Z1=" "+Z1
  127. 1270  Z2=Z2+Z1+"/":Z1="":LOCATE ,53:PRINT Z2;
  128. 1280  Z=INKEY$:IF Z="" THEN 1280
  129. 1290  IF Z=CHR$(8) THEN 1050
  130. 1300  IF LEN(Z)>1 THEN IF RIGHT$(Z,1)=CHR$(75) THEN 1280
  131. 1310  IF Z<"0" OR Z>"9" OR Z=CHR$(13) THEN 1280
  132. 1320  Z1=Z:LOCATE ,POS(0):PRINT Z;
  133. 1330  Z=INKEY$
  134. 1340  IF Z="" OR Z=CHR$(13) OR Z=CHR$(8) THEN 1330
  135. 1350  IF LEN(Z)>1 THEN IF RIGHT$(Z,1)=CHR$(75) THEN 1330
  136. 1360  IF Z<"0" OR Z>"9" THEN 1330
  137. 1370  Z1=Z1+Z
  138. 1380  YY=VAL(Z1):IF YY<1 OR YY>99 THEN 1050
  139. 1390  Z2=Z2+Z1:LOCATE ,53:PRINT Z2;
  140. 1400  LOCATE ,62:COLOR 15:PRINT"Correct? <Y/N>";:COLOR 3,0
  141. 1410  GOSUB 1430:IF Z1<>"1" THEN 1050
  142. 1420  LOCATE ,62:PRINT SPC(16);:RETURN
  143. 1430  Z=INKEY$:IF Z="" THEN 1430
  144. 1440  Z1=""
  145. 1450  IF Z="Y" OR Z="y" THEN Z1="1":GOTO 1470
  146. 1460  IF Z<>"n" AND Z<>"N" THEN 1430
  147. 1470  PRINT Z;:RETURN
  148. 1480  LOCATE 10,30,1:PRINT"ONE MOMENT PLEASE"
  149. 1490      MONTH=VAL(MID$(GAME$,1,2))
  150. 1500      DAY=VAL(MID$(GAME$,4,2))
  151. 1510      YEAR=1900+VAL(MID$(GAME$,7,2))
  152. 1520      GOSUB 1710
  153. 1530      GAME=JD
  154. 1540  FOR T=0 TO 1
  155. 1550    FOR B=0 TO 21
  156. 1560     IF Z(B,1,T)="" THEN 1680
  157. 1570      MONTH=VAL(MID$(Z(B,1,T),1,2))
  158. 1580      DAY=VAL(MID$(Z(B,1,T),4,2))
  159. 1590      YEAR=1900+VAL(MID$(Z(B,1,T),7,2))
  160. 1600      GOSUB 1710
  161. 1610      DIFF=GAME-JD
  162. 1620      W=FNX(23)
  163. 1630      Z(B,2,T)=STR$(W):Z(B,3,T)=STR$(D(0,W,0))
  164. 1640      W=FNX(28)
  165. 1650      Z(B,4,T)=STR$(W):Z(B,5,T)=STR$(D(1,W,0))
  166. 1660      W=FNX(33)
  167. 1670      Z(B,6,T)=STR$(W):Z(B,7,T)=STR$(D(2,W,0))
  168. 1680    NEXT B
  169. 1690  NEXT T
  170. 1700  RETURN
  171. 1710  W=FIX((MONTH-14)/12)
  172. 1720  JD=INT(1461*(YEAR+4800+W)/4)
  173. 1730  X=FIX(367*(MONTH-2-W*12)/12)
  174. 1740  JD=JD+X
  175. 1750  X=INT(INT(3*(YEAR+4900+W)/100)/4)
  176. 1760  JD=JD+DAY-32075-X
  177. 1770  RETURN
  178. 1780  CLS:PRINT STRING$(80,"CSRLIN")
  179. 1790  FOR A=2 TO 22:LOCATE A,1:PRINT"CSRLIN":LOCATE A,80:PRINT"CSRLIN":NEXT
  180. 1800  LOCATE 23,1:PRINT STRING$(80,"CSRLIN");
  181. 1810  COLOR 15,0:LOCATE 3,15:PRINT"B I O R H Y T H M   S P O R T S   P R E D I C T I N G"
  182. 1820  LOCATE 6,23
  183. 1830  PRINT"Would You Like Instructions? <Y/N>":COLOR 3,0
  184. 1840  Z=INKEY$:IF Z="" THEN 1840
  185. 1850  IF Z="N" OR Z="n" THEN RETURN
  186. 1860  IF Z<>"Y" AND Z<>"y" THEN 1840
  187. 1870  LOCATE 4, 6:PRINT"   This program combines the number crunching ability of your PC, the
  188. 1880  LOCATE 5, 6:PRINT"biorhythm theory, and an assortment of other weights and measures, to
  189. 1890  LOCATE 6, 6:PRINT"predict which of two teams should be  dominant in any particular game
  190. 1900  LOCATE 7, 6:PRINT"on any given Sunday (for more info about the Biorhythm Theory in gen-
  191. 1910  LOCATE 8, 6:PRINT"eral, please refer to your FriendlyWare manual on page number 31).
  192. 1920  LOCATE 9, 6:PRINT"       Predictions are generated by first calculating each individual
  193. 1930  LOCATE 10,6:PRINT"player's biorhythm chart,  and then mixing those results for each
  194. 1940  LOCATE 11,6:PRINT"unit (offense and defense) to come up with a team average.  The aver-
  195. 1950  LOCATE 12,6:PRINT"age also includes variables for  key positions,  skill positions, etc.
  196. 1960  LOCATE 13,6:PRINT"   A team's offense is compared to the other team's defense and vice-
  197. 1970  LOCATE 14,6:PRINT"versa to produce the overall prediction.   The results should tell if
  198. 1980  LOCATE 15,6:PRINT"one team is more likely to perform close to its potential on game day.
  199. 1990  LOCATE 16,6:PRINT"  Remember  though,  that a weak team  playing at its  high may still
  200. 2000  LOCATE 17,6:PRINT"not be as strong  as a great team that is a little down.  That is why
  201. 2010  LOCATE 18,6:PRINT"YOUR  OWN  evaluation  and  analysis is necessary to use this program.
  202. 2020  LOCATE 19,6:PRINT"In other words, we are providing you with a `TOOL',  not a  `LABORER'.
  203. 2030  LOCATE 20,6:PRINT"  Once you have entered the players birth dates for a particular team,
  204. 2040  LOCATE 21,6:PRINT"it is possible to  save this  information  onto another diskette  for
  205. 2050  LOCATE 22,6:PRINT"future use. You will also have the ability to update your information.
  206. 2060  LOCATE 25,28:COLOR 15:PRINT"Strike Any Key To Continue";:COLOR 3,0
  207. 2070  Z=INKEY$:IF Z="" THEN 2070 ELSE RETURN
  208. 2080  RETURN
  209. 2090  A=0:FFF=0
  210. 2100    GOSUB 2400
  211. 2110    C=5
  212. 2120    FOR B=0 TO 21
  213. 2130    LOCATE C,2:COLOR 15,0
  214. 2140    PRINT USING "\           \";Z(B,0,A);
  215. 2150    LOCATE ,17:PRINT Z(B,1,A);
  216. 2160    LOCATE ,27:PRINT ZZ(D(0,VAL(Z(B,2,A)),1));
  217. 2170    LOCATE ,34:PRINT USING "#.#";VAL(Z(B,3,A));
  218. 2180    LOCATE ,40:PRINT ZZ(D(1,VAL(Z(B,4,A)),1));
  219. 2190    LOCATE ,47:PRINT USING "#.#";VAL(Z(B,5,A));
  220. 2200    LOCATE ,53:PRINT ZZ(D(2,VAL(Z(B,6,A)),1));
  221. 2210    LOCATE ,60:PRINT USING "#.#";VAL(Z(B,7,A));
  222. 2220    LOCATE ,66:PRINT USING "##.#";VAL(Z(B,9,A));
  223. 2230    LOCATE ,74:PRINT USING "##.##";VAL(Z(B,8,A));
  224. 2240    COLOR 2,0
  225. 2250    C=C+1:IF B=10 THEN 2260 ELSE 2290
  226. 2260   IF FFF THEN COLOR 6,0:LOCATE 18,44 ELSE LOCATE 18,5
  227. 2270   PRINT USING "\      \";TEAM$(A);:PRINT" Offensive Average Is ";:PRINT USING "###.##";OF(A);
  228. 2280   A=TURN(A):GOSUB 2350
  229. 2290  NEXT B
  230. 2300  IF FFF THEN COLOR 6,0:LOCATE 19,44 ELSE LOCATE 19,5
  231. 2310  PRINT USING "\      \";TEAM$(A);:PRINT" Defensive Average Is ";:PRINT USING "###.##";DF(A);
  232. 2320  GOSUB 2350:FFF=1:IF A THEN 2110
  233. 2330  LOCATE 21,26:PRINT USING "\      \";TEAM$(0);:PRINT" Team Evaluation Is";:PRINT USING " ####.##";TEAMAVG(0)*100
  234. 2340  LOCATE 22,26:PRINT USING "\      \";TEAM$(1);:PRINT" Team Evaluation Is";:PRINT USING " ####.##";TEAMAVG(1)*100
  235. 2350   COLOR 15,0:C=5:LOCATE 25,29:PRINT"Strike Any Key To Continue";
  236. 2360   Z=INKEY$:IF Z="" THEN 2360
  237. 2370   LOCATE 25,20:PRINT SPC(40);
  238. 2380   LOCATE 24,1:PRINT SPC(60);
  239. 2390  RETURN
  240. 2400  COLOR 4,0:CLS
  241. 2410  LOCATE 1,1:PRINT STRING$(80,205):DEF SEG=0
  242. 2420  IF (PEEK(1040) AND 48)=48 THEN DEF SEG=45056 ELSE DEF SEG=47104
  243. 2430  POKE 0,201:POKE 30,203:POKE 48,203:POKE 74,203
  244. 2440  POKE 100,203:POKE 126,203:POKE 158,187
  245. 2450  LOCATE 2,1:PRINT CHR$(186)"    PLAYER    "CHR$(186);
  246. 2460  PRINT"  BIRTH "CHR$(186)"  PHYSICAL  "CHR$(186)"  EMOTIONAL "CHR$(186);
  247. 2470  PRINT"INTELLECTUAL"CHR$(186)"    TOTALS     "CHR$(186)
  248. 2480  LOCATE 3,1:PRINT CHR$(186)"   POSITION   ";
  249. 2490  PRINT CHR$(186)"  DATE  "CHR$(186)"CYCLE   PTS."CHR$(186);"CYC";
  250. 2500  PRINT"LE   PTS."CHR$(186)"CYCLE   PTS."CHR$(186)"  PTS.    AVG. "CHR$(186)
  251. 2510  LOCATE 4,1:PRINT STRING$(80,205)
  252. 2520  E=480:POKE E,204:POKE E+30,206:POKE E+48,206
  253. 2530  E=542:POKE E,209:POKE E+12,206:POKE E+26,209
  254. 2540  E=580:POKE E,206:POKE E+14,209:POKE E+26,206
  255. 2550  E=620:POKE E,209:POKE E+18,185
  256. 2560  FOR E=640 TO 2240 STEP 160
  257. 2570   G=E:POKE G,186:POKE G+30,186:POKE G+48,186
  258. 2580   G=G+62:POKE G,179:POKE G+12,186
  259. 2590   G=G+26:POKE G,179:POKE G+12,186:POKE G+26,179
  260. 2600   G=G+38:POKE G,186:POKE G+14,179:POKE G+32,186
  261. 2610  NEXT
  262. 2620  LOCATE 16,1:PRINT STRING$(80,205)
  263. 2630  E=2400:POKE E,200:POKE E+30,202:POKE E+48,202
  264. 2640  E=2462:POKE E,207:POKE E+12,202:POKE E+26,207
  265. 2650  E=2500:POKE E,202:POKE E+14,207:POKE E+26,202
  266. 2660  E=2540:POKE E,207:POKE E+18,188
  267. 2670  COLOR 3,0:RETURN
  268. 2680  AVG!(0)=0:AVG!(1)=0:OF(0)=0:DF(0)=0:OF(1)=0:DF(1)=0:TEAMAVG(0)=0:TEAMAVG(1)=0
  269. 2690  FOR A=0 TO 1
  270. 2700   FOR B=0 TO 21
  271. 2710    DD=3
  272. 2720    TOT1=VAL(Z(B,3,A)):IF TOT1=0 THEN DD=DD-1
  273. 2730    TOT2=VAL(Z(B,5,A)):IF TOT2=0 THEN DD=DD-1
  274. 2740    TOT3=VAL(Z(B,7,A)):IF TOT3=0 THEN DD=DD-1
  275. 2750    IF DD=0 THEN AVG!=0:GOTO 2790
  276. 2760    AVG!=(TOT1+TOT2+TOT3)/DD
  277. 2770    AVG!=AVG!*VALUE(B)
  278. 2780    AVG!(A)=AVG!(A)+AVG!
  279. 2790    Z(B,8,A)=STR$(AVG!)
  280. 2800    Z(B,9,A)=STR$((TOT1+TOT2+TOT3))
  281. 2810    IF B<11 THEN OF(A)=OF(A)+AVG! ELSE DF(A)=DF(A)+AVG!
  282. 2820   NEXT B
  283. 2830   IF A=0 THEN AVG!(A)=AVG!(A)+10
  284. 2840   TEAMAVG(A)=AVG!(A)/22:DF(A)=DF(A)/11:OF(A)=OF(A)/11
  285. 2850  NEXT A
  286. 2860  RETURN
  287. 2870  FOR B=0 TO 1
  288. 2880   FOR A=1 TO 23:READ D(0,A,B):NEXT
  289. 2890   FOR A=1 TO 28:READ D(1,A,B):NEXT
  290. 2900   FOR A=1 TO 33:READ D(2,A,B):NEXT
  291. 2910  NEXT
  292. 2920  FOR A=0 TO 21:READ VALUE(A):NEXT
  293. 2930  RESTORE 3090:ERASE Z:DIM Z(22,10,1)
  294. 2940  FOR A=0 TO 21:READ Z(A,0,0):Z(A,0,1)=Z(A,0,0):NEXT
  295. 2950  ZZ(0)="crit"
  296. 2960  ZZ(1)="low "
  297. 2970  ZZ(2)="avg "
  298. 2980  ZZ(3)="high"
  299. 2990  TURN(1)=0:TURN(0)=1
  300. 3000  RETURN
  301. 3010  DATA 2,3,4.5,6,7.5,7.5,7.5,6,4.5,3,2,0,1,2,3,4,5,5,5,4,3,2,0
  302. 3020  DATA 2,2,3,4.5,4.5,6,7.5,7.5,7.5,6,4.5,4.5,3,2,0,1,2,3,3,4,5,5,5,4,3,2,1,0
  303. 3030  DATA 2,2,3,3,4.5,4.5,6,7.5,7.5,7.5,6,4.5,4.5,3,3,2,0,1,2,2,3,3,4,5,5,5,4,3
  304. 3040  DATA 3,4,4,1,0
  305. 3050  DATA 1,2,2,2,3,3,3,2,2,2,1,0,1,2,2,2,3,3,3,2,2,2,0
  306. 3060  DATA 1,1,2,2,2,2,3,3,3,2,2,2,2,1,0,1,2,2,2,2,3,3,3,2,2,2,1,0
  307. 3070  DATA 1,1,2,2,2,2,2,3,3,3,2,2,2,2,2,1,0,1,2,2,2,2,2,3,3,3,2,2,2,2,2,1,0
  308. 3080  DATA 5,3,2,2,2,2,1,1,1,1,1,4,2,2,2,2,2,1,1,1,1,3
  309. 3090  DATA QUARTERBACK,HALFBACK,FULLBACK,WIDE RECIEVER,TIGHT END,SPLIT END
  310. 3100  DATA CENTER,R.TACKLE,R.GUARD,L.TACKLE,L.GUARD
  311. 3110  DATA M.LINEBACKER,R.LINEBACKER,L.LINEBACKER,LINEBACK/LINE,R.CORNERBACK
  312. 3120  DATA L.CORNERBACK,DEF.LINEMAN,DEF.LINEMAN,DEF.LINEMAN,STRONG SAFETY,FREE SAFETY
  313. 3130  KEY(10) OFF:XX=CSRLIN:YYY=POS(0):LOCATE 25,1:PRINT SPC(79);:COLOR 15
  314. 3140  LOCATE 25,20:PRINT"Do You Wish To Leave This Program? <Y/N>";:COLOR 3,0
  315. 3150  IF INKEY$<>"" THEN 3150:Z3=Z1
  316. 3160  GOSUB 1430
  317. 3170  IF Z1="1" THEN RUN"MENU
  318. 3180  LOCATE 25,1:PRINT SPC(79);
  319. 3190  LOCATE 25,24:COLOR 0,7:PRINT" Strike <F10> To Leave Program ";:COLOR 3,0
  320. 3200  LOCATE XX,YYY:KEY(10) ON:Z="":Z1=Z3:RETURN
  321. 3210  IF TEAM$(0)<>"" OR TEAM$(1)<>"" THEN 3250
  322. 3220  LOCATE 20,15,0:COLOR 15,0
  323. 3230  PRINT"You Must Create Team Rosters Before You Can Save Them.
  324. 3240  FOR A=1 TO 7000:NEXT:COLOR 3,0:RETURN
  325. 3250  CLS:LOCATE 2,20:PRINT"Which Team Do You Wish To Save?";
  326. 3260  GOSUB 3980
  327. 3270  LOCATE 3,25:PRINT TEAM$(0)" or "TEAM$(1)
  328. 3280  K9=0:LOCATE 5,30:GOSUB 4330:Z=ZA
  329. 3290  IF Z=TEAM$(0) THEN B=0:GOTO 3340
  330. 3300  IF Z=TEAM$(1) THEN B=1:GOTO 3340
  331. 3310  IF K9 THEN 3450
  332. 3320  LOCATE 12,20:PRINT"Invalid Name, Please Try Again."
  333. 3330  FOR A=1 TO 2000:NEXT:LOCATE 12,1:PRINT SPC(79):GOTO 3250
  334. 3340  Z=Z+".STS"
  335. 3350  OPEN "I",#1,"NAME.FLE"
  336. 3360  IF EOF(1) THEN 3390
  337. 3370  INPUT#1,TEAMNAME$
  338. 3380  IF TEAMNAME$=Z THEN 3410 ELSE 3360
  339. 3390  IF K9 THEN 3450 ELSE CLOSE:OPEN "NAME.FLE" FOR APPEND AS #1
  340. 3400  WRITE#1,Z
  341. 3410  IF K9 THEN 3450 ELSE CLOSE:OPEN "O",#1,Z
  342. 3420  FOR A=0 TO 11 STEP 11
  343. 3430  WRITE#1,Z(A,1,B),Z(A+1,1,B),Z(A+2,1,B),Z(A+3,1,B),Z(A+4,1,B),Z(A+5,1,B),                Z(A+6,1,B),Z(A+7,1,B),Z(A+8,1,B),Z(A+9,1,B),Z(A+10,1,B)
  344. 3440  NEXT
  345. 3450  CLOSE:RETURN
  346. 3460  CLS:GOSUB 3980:K9=0
  347. 3470  IF K9 THEN 3450 ELSE OPEN "I",#1,"NAME.FLE"
  348. 3480  IF EOF(1) THEN 3510
  349. 3490  INPUT#1,TEAMNAME$
  350. 3500  LOCATE ,POS(0)+12:PRINT LEFT$(TEAMNAME$,8);:GOTO 3480
  351. 3510  LOCATE 20,20:PRINT"Which Team Do You Wish To Load?";
  352. 3520  K9=0:GOSUB 4330:Z=ZA
  353. 3530  IF K9 THEN 3450 ELSE CLOSE:OPEN "I",#1,"NAME.FLE"
  354. 3540  IF EOF(1) THEN CLOSE:GOTO 3580
  355. 3550  INPUT#1,TEAMNAME$
  356. 3560  IF Z=LEFT$(TEAMNAME$,8) THEN 3610
  357. 3570  GOTO 3540
  358. 3580  LOCATE 20,1:PRINT SPC(79):LOCATE 20,20
  359. 3590  PRINT"Invalid Team Name, Please Try Again."
  360. 3600  FOR A=1 TO 2000:NEXT:LOCATE 20,20:PRINT SPC(79):GOTO 3510
  361. 3610  LOCATE 20,1:PRINT SPC(78):LOCATE 20,20
  362. 3620  K9=0
  363. 3630  IF TEAM$(0)<>"" AND TEAM$(1)="" THEN TEAM$(1)=LEFT$(TEAMNAME$,8):T=1:GOTO 3670
  364. 3640  IF TEAM$(1)<>"" AND TEAM$(0)="" THEN TEAM$(0)=LEFT$(TEAMNAME$,8):T=0:GOTO 3670
  365. 3650  PRINT"Home Team or Visiting Team? <H/V>"
  366. 3660  K9=0:GOSUB 3950:TEAM$(T)=LEFT$(TEAMNAME$,8)
  367. 3670  IF K9 THEN 3450 ELSE CLOSE:OPEN "I",#1,TEAMNAME$
  368. 3680  FOR A=0 TO 11 STEP 11
  369. 3690  INPUT#1,Z(A,1,T),Z(A+1,1,T),Z(A+2,1,T),Z(A+3,1,T),Z(A+4,1,T),Z(A+5,1,T),                Z(A+6,1,T),Z(A+7,1,T),Z(A+8,1,T),Z(A+9,1,T),Z(A+10,1,T)
  370. 3700  NEXT:CLOSE:RETURN
  371. 3710  CLS:GOSUB 3980
  372. 3720  K9=0:A=0:OPEN "I",#1,"NAME.FLE"
  373. 3730  ERASE TEAMNAME$:DIM TEAMNAME$(30)
  374. 3740  IF EOF(1) THEN CLOSE:GOTO 3780
  375. 3750  A=A+1
  376. 3760  INPUT#1,TEAMNAME$(A)
  377. 3770  LOCATE ,POS(0)+12:PRINT LEFT$(TEAMNAME$(A),8);:GOTO 3740
  378. 3780  LOCATE 20,20:PRINT"Which Team Do You Wish To Erase?";
  379. 3790  K9=0
  380. 3800  GOSUB 4330:Z1=ZA:Z1=Z1+".STS"
  381. 3810  IF K9 THEN 3450
  382. 3820  FOR B=1 TO A
  383. 3830   IF Z1=TEAMNAME$(B) THEN 3880
  384. 3840  NEXT
  385. 3850  LOCATE 20,1:PRINT SPC(79):LOCATE 20,20
  386. 3860  PRINT"Invalid File Name, Please Try Again."
  387. 3870  FOR B=1 TO 2000:NEXT:LOCATE 20,1:PRINT SPC(79):GOTO 3780
  388. 3880  KILL TEAMNAME$(B)
  389. 3890  TEAMNAME$(B)=""
  390. 3900  A=0
  391. 3910  OPEN "O",#2,"NAME.FLE"
  392. 3920  FOR A=1 TO 30
  393. 3930    IF TEAMNAME$(A)<>"" THEN WRITE#2,TEAMNAME$(A)
  394. 3940  NEXT:CLOSE:RETURN
  395. 3950  Z=INKEY$:IF Z="" THEN 3950
  396. 3960  IF Z="H" OR Z="h" THEN T=0:RETURN
  397. 3970  IF Z="V" OR Z="v" THEN T=1:RETURN ELSE 3950
  398. 3980  KEY(9) ON:LOCATE 24,20:COLOR 0,3
  399. 3990  PRINT" Strike <F9> To Return To Sports Menu ";:COLOR 3,0
  400. 4000  XX=1:YYY=1:GOTO 3180
  401. 4010  KEY(9) OFF:RETURN 4020
  402. 4020  K9=1:CLOSE:RETURN
  403. 4030  XX=CSRLIN:YYY=POS(0):LOCATE 22,1,0:PRINT SPC(79);:COLOR 14,0
  404. 4040  IF ERR=53 AND ERL=3670 OR ERL=3880 THEN 4180
  405. 4050  IF ERR=61 THEN 4200
  406. 4060  IF ERR=67 THEN 4210
  407. 4070  IF ERR=70 THEN 4220
  408. 4080  IF ERR=71 THEN 4230
  409. 4090  IF ERR=72 THEN 4240
  410. 4100  IF ERR=53 AND ERL=3170 THEN 4160
  411. 4110  IF ERR=53 AND (ERL=30 OR ERL=100) THEN F=1:RESUME NEXT
  412. 4120  IF ERR=53 THEN 4190
  413. 4130  IF ERR=52 THEN 4170
  414. 4140  ON ERROR GOTO 0
  415. 4150  END
  416. 4160  CLS:LOCATE 21,22:PRINT"Insert A FriendlyWare Diskette And":GOTO 4260
  417. 4170  LOCATE 21,35:PRINT"Bad File Name. ":GOTO 4260
  418. 4180  LOCATE 21,22:PRINT"Insert Diskette With Team File And":GOTO 4260
  419. 4190  LOCATE 21,23:PRINT"Insert Diskette With NAME.FLE And":GOTO 4260
  420. 4200  LOCATE 21,34:PRINT"Diskette Is Full.":GOTO 4250
  421. 4210  LOCATE 21,27:PRINT"Diskette Has Too Many Files.":GOTO 4250
  422. 4220  LOCATE 21,27:PRINT"Diskette Is Write Protected.":GOTO 4250
  423. 4230  LOCATE 21,20:PRINT"Disk Cover Is Open. Close Cover And":GOTO 4260
  424. 4240  LOCATE 21,29:PRINT"Diskette Read Error.":GOTO 4250
  425. 4250  LOCATE 22,27:PRINT"Insert New Diskette And"
  426. 4260  LOCATE 23,26:PRINT"Strike Any Key To Continue
  427. 4270  DEF SEG:POKE 106,0
  428. 4280  IF INKEY$<>"" THEN 4280
  429. 4290  ZZ=INKEY$:IF ZZ="" THEN 4290
  430. 4300  FOR AC=21 TO 23:LOCATE AC,1:PRINT SPC(79);:NEXT
  431. 4310  IF ERL=3410 THEN :RESUME 3450
  432. 4320  LOCATE XX,YYY,1:COLOR 3,0:RESUME
  433. 4330  DEF SEG:POKE 106,0:IF INKEY$<>"" THEN 4330
  434. 4340  ZH="":ZI="":ZA="":LOCATE ,POS(0)+1
  435. 4350  ZI=INKEY$:IF ZI="" THEN 4350
  436. 4360  IF ZI=CHR$(13) THEN ZA=SPACE$(8):LSET ZA=ZH:GOTO 4450
  437. 4370  IF ZI=CHR$(8) THEN 4430
  438. 4380  IF LEN(ZI)>1 THEN IF RIGHT$(ZI,1)=CHR$(75) THEN 4430 ELSE 4350
  439. 4390  IF LEN(ZH)>7 THEN 4350
  440. 4400  IF ZI<"a" OR ZI>"z" THEN 4420
  441. 4410  ZI=CHR$(ASC(ZI)-32)
  442. 4420  ZH=ZH+ZI:PRINT ZI;:GOTO 4350
  443. 4430  IF LEN(ZH)<1 THEN 4350
  444. 4440  PRINT CHR$(29)" "CHR$(29);:ZH=LEFT$(ZH,LEN(ZH)-1):GOTO 4350
  445. 4450  FOR A=1 TO 8
  446. 4460   IF MID$(ZA,A,1)<"a" OR MID$(ZA,A,1)>"z" THEN 4480
  447. 4470   MID$(ZA,A,1)=CHR$(ASC(MID$(ZA,A,1))-32)
  448. 4480  NEXT:RETURN
  449. 4490  RUN"menu
  450.